Many present day computer graphics techniques use graphics instructions to modify bits in memory, those bits having a direct screen representation. Hardware devices, sometimes referred to as "backend logic devices", take care of extracting these bits from memory and serializing them for screen display as pixels. This is the case for many existing graphics processors.
These graphics processors generally use low level instructions, such as fill, draw, and line routines, to implement the placement of pixel data into memory. These routines are generally written for raster scan displays, which are designed for modification of pixels in a bitmap and direct screen representation. For most raster scan displays, no further action in addition to these routines is necessary for generating a display.
However, for some displays, such as the newer flat panel displays, these drawing routines are not sufficient. For example, the flat panel displays require special display dependent operations to increase refresh rates. This requires the graphics program to include instructions directed to use of that display, in addition to instructions for placing pixel data in memory. To rewrite existing graphics software for such displays would be costly and time consuming and would require access to the source code. Rewriting the software would also defeat attempts at graphics standardization.
Another example of a situation in which a graphics program must be modified for use with different hardware is when the program is written for a color display system but is desired to be run on a monochrome display system. In this situation, the graphics program must be modified so that bits that represent monochrome pixels, rather than color bits, are placed in memory.
Thus, a need exists for adapting existing graphics programs for use with different hardware configurations, such as systems having display-dependent operations. Ideally, the adaptation should operate on the user's program in a manner that does not require reprogramming by some other party. Thus, the invention permits code that is already loaded to the user's system to be replaced with substitute code.